# manifest

- 类型：`boolean | PluginManifestOptions`
- 默认值：`undefined`

用于控制是否生成 manifest ，以及对应的生成配置。启用后插件会在每次构建中同时产出 `mf-manifest.json` 与 `mf-stats.json`（名称可通过 `fileName` 自定义），并写入到构建产物中，供其他工具在 `processAssets` 钩子或构建结果中直接读取。

- `mf-stats.json`：包含完整的构建统计信息，如 exposes/shared/remotes 的资源列表、`metaData`（插件版本、构建信息、`remoteEntry` 等）以及额外的资产分析结果，适合用于后续合并或诊断。
- `mf-manifest.json`：在 stats 基础上提炼出的运行时清单，结构稳定，供 Module Federation 消费端在加载远程模块时读取。文件中的 exposes/shared/remotes 对应线上对外暴露的能力。

`PluginManifestOptions` 类型如下：

```ts
interface PluginManifestOptions {
  filePath?: string;
  disableAssetsAnalyze?: boolean;
  fileName?: string;
}
```

## filePath

- 类型：`string`
- 默认值：`undefined`

manifest 存放路径

## fileName

- 类型：`string`
- 默认值：`'mf-manifest.json'`

manifest 文件名称

如果设置了 `fileName`，对应的 stats 文件名会自动附加 `-stats` 后缀（例如 `fileName: 'mf.json'` 时会同时生成 `mf.json` 与 `mf-stats.json`）。所有文件都会写入 `filePath`（若配置）指定的子目录。

## disableAssetsAnalyze

:::warning
不建议用户设置此配置，设置后，preload 功能将失效！
:::

- 类型：`boolean`
- 是否必填：否
- 默认值：`undefined`

asset analyze 在复杂项目中会耗费较长时间，设置该选项后，会禁用 asset analyze，优化构建时间。
如果项目是纯消费者，默认在 dev 中会设置为 true 。
如果设置为 true ，那么 manifest 中将不会有 shared 、exposes 字段，且 remotes 中也不会有 assets 。
